#pragma once

#include "MgrExtModules.h"

#include "ScriptInterpreter.h"

//#include <WinDef.h>
//#include <memory>
//#include <iostream>

//#include "MgrExt.h"
//#include "ScriptInterpreter.h"


//class CExtMgr 
//{
//public:
//	CExtMgr ();
//	~CExtMgr();
//};

//namespace infs
//{
//static HINSTANCE hMGREXT;
//static EXT::IMGR_EXT IMGREXT;
//static const wchar_t* MGREXT_NAME_DLL = L"MgrExt.dll";
//
//static bool InitMGR_EXT ()
//{
//	if (hMGREXT != 0)
//		return true;
//
//	hMGREXT = ::LoadLibrary(MGREXT_NAME_DLL);
//
//	if (!hMGREXT)
//	{
//		std::cout << "\nERROR loading Manager extension library (library not found)\n";
//		return false;
//	}
//	
//		EXT::INTERFACE_MGR_EXT pfnInterface = (EXT::INTERFACE_MGR_EXT) ::GetProcAddress(hMGREXT,  "INITMGR");
//
//		if (!pfnInterface)
//		{
//			::FreeLibrary(hMGREXT);
//			hMGREXT = 0;
//
//			std::cout << "\nERROR loading Manager extension library (interface not found)\n";
//
//			return false;
//		}
//		
//		pfnInterface(&IMGREXT);
//
//		if (IMGREXT == 0)
//		{
//			::FreeLibrary(hMGREXT);
//			hMGREXT = 0;
//
//			std::cout << "\nERROR loading Manager extension library (interface cannot by init)\n";
//			
//			return false;
//		}
//
//		return true;
//};
//
//static void FreeMGR_EXT ()
//{
//	if (IMGREXT != 0)
//		IMGREXT->Release();
//	::FreeLibrary (hMGREXT);
//	std::cout << "\nUnloading Manager extension library...\n";
//};
//};